﻿//+-------------------------------------------------------------------------------------------------------------------------------------------------------
//
//Description:  MockTestObjects
//Author: Aravind Ramarathinam (aravr@microsoft.com)
//Copyright © Microsoft Corporation
//Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. 
//You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
//
//THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, 
//INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. 
//See the Apache Version 2.0 License for specific language governing permissions and limitations under the License.
// 
//--------------------------------------------------------------------------------------------------------------------------------------------------------


using System;
using System.Collections.Generic;
using VmroleAuthor.Models;


namespace VmroleAuthor.ViewModels
{
    public class MockTestObjects
    {
        public static VMRoleResourceExtensionDefinition GetVmRoleResourceExtension()
        {
            VMRoleResourceExtensionDefinition resExtDef = new VMRoleResourceExtensionDefinition();
            resExtDef.Name = "Hello";
            resExtDef.Version = "1.0";
            resExtDef.Publisher = "Aravind";
            resExtDef.DataPackage = new DataPackage { Location = "blah", Version = "1.0" };
            resExtDef.ResourceRequirements = new ResourceRequirements
            {
                OSVirtualHardDiskRequirements = new List<string> { "hello", "kitty" }
            };
            resExtDef.ExtensionSettings = new ExtensionSettings();
            resExtDef.ExtensionSettings.ApplicationProfile = new ApplicationProfile();
            resExtDef.ExtensionSettings.ApplicationProfile.ApplicationPayload = new List<ApplicationPayload>();
            resExtDef.ExtensionSettings.ApplicationProfile.ApplicationPayload.Add(new ApplicationPayload { ID = Guid.NewGuid().ToString(), RelativePath = "foo"});
            resExtDef.ExtensionSettings.ApplicationProfile.ApplicationPayload.Add(new ApplicationPayload { ID = Guid.NewGuid().ToString(), RelativePath = "krishna" });
            resExtDef.ExtensionSettings.ApplicationProfile.WindowsApplicationProfile = new WindowsApplicationProfile();
            return resExtDef;
        }


        public static ResourceDefinition GetVmRoleResourceDefinition()
        {
            ResourceDefinition resdef = new ResourceDefinition();
            resdef.Name = "Hello";
            resdef.Version = "1.0";
            resdef.Publisher = "Aravind";
            resdef.Type = "MicrosoftCompute/VMRole";
            resdef.IntrinsicSettings = new IntrinsicSettings();

            return resdef;
        }
    }
}
